In a wireless network, e.g., an ad hoc network, in which a network infrastructure does not exist or is not used, a terminal has to combat certain challenges in order to set up a communication link with another peer terminal. One challenge is determine what other devices are within a geographic region and what capabilities the devices have for communicating.
One problem with detecting the presence of other devices and what capabilities they have is that some devices may support some protocols used for communicating user data but not others. For example, one device may support one or more OFDM communications protocols while another device might support CDMA while still another device might support GSM. For purposes of discussion, it is often useful in talking about protocols with respect to the layer of the Open Systems Interconnection (OSI) reference model to which they correspond. There are seven layers to the OSI model. The lowest layer is the physical layer. Above the physical layer is the data link layer. Above the data link layer is a network layer. The four remaining layers from lowest to highest are the transport layer, session layer, presentation layer and application layer.
It is also useful to discuss protocol layering with respect to the global Internet. The Internet effectively adopted a 4-layer protocol stack comprising link, network, transport and application layers. However, the meaning of Internet layering differs somewhat from the OSI model. The Internet (shorthand for Inter-network) is a network of interconnected computer networks used to exchange data over a connectionless, packet-switched topology in accordance with an Internet Protocol (IP). As such it is a “network of networks”. The networks are interconnected by packet-switching computers called “routers” which forward data between directly connected networks. Each individual network is viewed as a “subnetwork” from the IP or internet layer perspective. There is no constraint on the nature or size of a subnetwork; e.g. the entire globally networked GSM system or a single strand of Ethernet cable are each a subnetwork to the IP layer. Each subnetwork technology in toto is referred to as a “link layer” technology in the protocol layering of the Internet. Thus, from an Internet perspective, the entire 7-layer OSI stack of any given network technology may be viewed as a form of link layer transport to the IP layer, which is the network layer of the Internet, over which run transport and application layer protocols.
A distinction in practice between networks built in accordance with the OSI or Internet layering models is that the latter creates a single, homogenous network layer protocol (i.e. IP) which persists over top all link layer technologies, whereas the former typically invents a new network layer protocol for each technology. The Internet approach enables communications thru intermediary network switching elements to consist of “routers” which undertake packet forwarding over a connectionless topology of subnetwork links (each an individual network technology in its own right). The OSI approach typically requires intermediary elements to act as protocol “gateways” which require protocol conversion between disparate network layers to facilitate inter-network communications.
Devices may use one or more protocols at a given layer. Using the Internet layering model as a reference, examples of link layer protocols include GSM, CDMA, and OFDM protocols. 802.11B and 802.11g are examples of two different OFDM-based protocols, both of which correspond to the link layer of the Internet model. Examples of network layer protocols include IP, ICMP, and IGMP to name a few. Examples of transport layer protocols include TCP and UDP to name but a few. Application layer protocols include such protocols as SIP, HTTP and others.
The set of protocols a device uses to support a communications session is often called a protocol stack. Devices may have the capability of supporting one or more protocol stacks, may be able to support multiple stacks at a given time, and may need to select between which supported protocol stacks should be used at a given time. As can be appreciated, given that a number of protocols may be supported at any given layer, a communications device is confronted with a large number of protocol combinations, e.g., protocol stacks, from which it may select when attempting to communicate with another device.
In relatively homogenous systems, the capabilities of other devices within the network may be known or the protocol stacks of the various devices preconfigured so that devices corresponding to the same network can communicate with one another.
In a heterogeneous networking context, e.g. an ad hoc network situation, a communications device may be confronted with a situation where it may not have any predetermined knowledge of the capabilities of other devices in the region and/or there may not be a predetermined protocol stack which enables the exchange of user data, e.g., voice, text, image data or other application data, between the devices. If the communications device selects the wrong device configuration and/or protocol stack, it may not be able to communicate with a neighboring device and/or the quality of communications may be lower than could have been achieved with the selection of a better protocol stack/device configuration.
Accordingly, it should be appreciated that it would be beneficial if devices in an ad hoc network or other non-homogenous networking context could communicate device capability information to one another without regard for their ability to select an appropriate protocol stack which might be needed to support the exchange of user data and/or to support relatively high data rate communications. While the ability to transmit and receive device capability information to/from other devices is desirable, if the methods are to gain wide spread deployment necessary to facilitate interoperability, it is important that methods and apparatus for communicating such information be capable of being implemented in a relatively simple manner. For example, it would be desirable if device capability information could be communicated without the need for complicated and expensive receivers and/or by using existing circuitry found in most communications devices.
In view of the above discussion it should be appreciated that there remains a need for improved methods of communicating device capability information and/or using device capability information to make protocol and/or device configuration selections.